<?  
  set_time_limit(4500);
  /* Se asegura que el archivo es incluido por el index */
    defined( 'LOAD_MODULE_ACTION' ) or die( 'No esta permitido el acceso directo a ' . __FILE__ );  
	/* Cuando se hace el include del archivo automaticamente crea un objeto y lo guarda en una variable temporal */
		$this->oTmpObject = new Persona_exe( $this );
    
	class Persona_exe extends Exe
	{
	function Persona_exe( &$oModule )
		{
			$this->Exe( $oModule );
		}
		function updateTag()
			{
				$ncPersona = getParam( 'ncPersona' );
				$ncRotulo = getParam( 'ncRotulo' );
				$cNewItem = getParam( 'newItem' );
				if ( $cNewItem )
				{
					$ncRotulo = $this->oDatabase->nextKey( "gtRotuloPersona", "ncRotulo" );
					$bOk = $this->oDatabase->insert( "gtRotuloPersona",
											"ncRotulo", $ncRotulo, "cdRotulo", $cNewItem );
				}
				if ( $ncPersona && $ncRotulo )
				{
					$bOk = $this->oDatabase->insert( "gtPersonaRotulo",
											"ncRotulo", $ncRotulo, "ncPersona", $ncPersona );
				}
			}
		// AGREGAR_PERSONA
		function insert()
		{
			// Convierte a variables los datos del Formulario asociado a la accion
			$oForm = $this->oModule->loadClass( 'Persona_frm' );
			extract( $oForm->getFieldArray() );
			// Busca el siguiente id
			$ncPersona      = $this->oDatabase->nextKey("gtPersona", "ncPersona"  );
			$this->oDatabase->insert("gtPersona"
								,"ncPersona", $ncPersona
								,"cNombre", $cNombre
								,"cApellido", $cApellido
								,"dNacimiento", $dNacimiento
								,"cPseudonimo", $cPseudonimo
								,"cPseudonimoApellido", $cPseudonimoApellido
								,"cBiografia", MarkDown($cBiografia)
								,"cLugarNacimiento", $cLugarNacimiento
								,"ncRecorrido", $ncRecorrido
								,"ncPais", $ncPais
								,"cImagen", $cImagen
								,"dMuerte", $dMuerte);
			$this->setInputData( $ncPersona, $cNombre . ' ' . $cApellido );
		}
		
		// ELIMINAR_PERSONA
		function delete()
		{
			$ncPersona = getParam( 'ncPersona' );
			$this->oDatabase->delete("gtPersona","ncPersona", $ncPersona );
		}
		
		// MODIFICAR_PERSONA
		function update()
		{
			// Convierte a variables los datos del Formulario asociado a la accion
			$oForm = $this->oModule->loadClass( 'Persona_frm' );
			extract( $oForm->getFieldArray() );
			$this->oDatabase->update("gtPersona"
								,"cNombre", $cNombre
								,"cApellido", $cApellido
								,"dNacimiento", $dNacimiento
								,"cPseudonimo", $cPseudonimo
								,"cPseudonimoApellido", $cPseudonimoApellido
								,"cBiografia", MarkDown($cBiografia)
								,"cLugarNacimiento", $cLugarNacimiento
								,"ncRecorrido", $ncRecorrido
								,"ncPais", $ncPais
								,"cImagen", $cImagen								
								,"dMuerte", $dMuerte
								,"WHERE"
								 ,"ncPersona", $ncPersona);
			$this->setInputData( $ncPersona, $cNombre . ' ' . $cApellido );
		}
	}
?>